package com.kb.vo.iems;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author : chenyumao
 * @description :bom异常记录保存DTO
 * @date : 2025-8-28
 */
@Data
@Schema(description = "邮件异常记录明细查询")
public class EmailOrderBomDetailErrorRecordVO implements Serializable {

    @Schema(description = "订单号")
    private String orderNo;

    @Schema(description = "订单类型枚举")
    private String orderType;

    @Schema(description = "业务类别枚举")
    private String businessType;

    @Schema(description = "文件名")
    private String fileName;

    @Schema(description = "制程性质")
    private String processProperty;

    @Schema(description = "Set数")
    private Integer setCount;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "应用类型")
    private String applicationType;

    @Schema(description = "BOM种类数")
    private Integer bomTypeCount;

    @Schema(description = "bom状态(1待回复，2待处理，3已处理)")
    private Integer bomErrorStatus;

    @Schema(description = "装配图异常信息")
    private String assemblyErrorMessage;

    @Schema(description = "装配图异常信息")
    private String coordinatesErrorMessage;

    @Schema(description = "装配图异常回复信息")
    private String assemblyErrorReplyMessage;

    @Schema(description = "装配图异常回复信息")
    private String coordinatesErrorReplyMessage;

    @Schema(description = "kb_iems_order_bom_error_record主键")
    private String orderBomErrorRecordId;


    private List<EmailOrderBomErrorDetailRecordVO> data;

    @Schema(description = "邮件异常记录明细记录详情")
    @Data
    public static class EmailOrderBomErrorDetailRecordVO {

        @Schema(description = "bom异常明细记录id,新增不传，修改传")
        private String orderBomErrorDetailId;

        @Schema(description = "bom_id")
        private String orderBomId;

        @Schema(description = "料号")
        private String materialNo;

        @Schema(description = "物料名称")
        private String materialName;

        @Schema(description = "异常信息")
        private String errorMessage;

        @Schema(description = "制造商型号")
        private String manufacturerModel;

        @Schema(description = "规格描述")
        private String specDescription;

        @Schema(description = "位号")
        private String locationNumber;

        @Schema(description = "封装")
        private String packageType;

        @Schema(description = "单机用量")
        private Integer perUnitConsumption;

        @Schema(description = "客户回复信息")
        private String customerReplyMessage;


    }
}
